package org.lc.stk.model.paper;

import java.util.Date;

import org.hibernate.annotations.Comment;
import org.lc.stk.model.banks.Bank;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;

/**
 * 组卷方案
 */
@Entity
@Table(name = "paperGeneralSchema")
@Comment("组卷方案")
public class PaperGenerationStrategy {

    public static Integer TYPE_AUTO = 1;
    public static Integer TYPE_SEMIAUTO = 2;
    public static Integer TYPE_MANUAL = 3;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    /**
     * 方案名称
     */
    @Column
    @Comment("方案名称")
    private String name;

    /**
     * 一次生成试卷数量，默认2
     */
    @Column
    @Comment("一次生成试卷数量")
    private Integer count;

    /**
     * 不同试卷重复率限值,默认不重复
     */
    @Column
    @Comment("不同试卷重复率限值")
    private float cfl;

    @ManyToOne
    @Comment("题库")
    private Bank bank;

    /**
     * 内容分布，章节比例
     */
    


    @Comment("生成日期")
    @Column
    @Temporal(TemporalType.DATE)
    private Date createDate;

    public Bank getBank() {
        return bank;
    }

    public void setBank(Bank bank) {
        this.bank = bank;
    }

    /**
     * 卷面总分
     */
    @Column
    @Comment("卷面总分")
    private Integer totalScore;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public float getCfl() {
        return cfl;
    }

    public void setCfl(float cfl) {
        this.cfl = cfl;
    }

    public Integer getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(Integer totalScore) {
        this.totalScore = totalScore;
    }
}
